package com.yuncheng.spcyApi.service;

import com.yuncheng.spcyApi.entity.SpcyRsJjrk;
import com.yuncheng.common.base.service.BaseService;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 审评查验-节假日库
 * @Author: csx
 * @Date: 2023-03-03
 * @Version: V1.0
 */
public interface ISpcyRsJjrkService extends BaseService<SpcyRsJjrk> {

    /**
     * 获取截止日期
     * @param startDate 开始时间
     * @param gzrts 工作日天数
     */
    Date getJzsj(Date startDate, Integer gzrts);

    /**
     * 计算两个日期之间的工作日
     */
    int jsTwoDateBetween(Date kssj,Date jssj);

    /**
     * @param:
     * @Description: 抽取两个时间段内无效的的天数 总时间秒数-工作日秒数=假期秒数
     *                                       总时间秒数-假期秒数 = 真实工作秒数
     * @date: 2023/9/2 10:20
     * @return
     */
    BigDecimal wxDays(Date startTime, Date endTime);

    /**计算培训学时一天八小时*/
    BigDecimal jsPxxs(Date startTime, Date endTime);

    /**
     * 计算节假日
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @param
     * @return
     */
    int getLeaveDays(Date startTime, Date endTime);

    /**
     * @param: startTime, endTime
     * @Description: 对开始时间进行 最终判断
     * @date: 2023/9/6 16:24
     */
    Date judgeStart(Date startTime, Date endTime);

    /**
     * @param: startTime, endTime
     * @Description: 对结束时间进行 最终判断
     * @date: 2023/9/6 18:46
     */
    Date judgeEnd(Date startTime, Date endTime);

    /**
     * 验证当天是否未加班日期
     * @param nowTime
     * @return
     */
    boolean verifyNowDateIsJb(Date nowTime);

    /**
     * 验证当天是否为调休日期
     * @param nowTime
     * @return
     */
    boolean verifyNowDateIsTx(Date nowTime);
}
